The popularity of the Internet, coupled with the increasing capabilities of personal/mobile electronic devices, has provided consumers with the ability to enjoy multimedia content almost anytime and anywhere. For example, live (e.g., sports events) and video on demand (VOD) content (e.g., television shows and movies) can be streamed via the Internet to personal electronic devices (e.g., computers, mobile phones, and Internet-enabled televisions).
A video streaming system that supports delivery of streaming video to different types of devices often performs decoding and encoding operations. In the case of live video, the encoding and decoding operations are ideally performed in real-time or near-real-time. In such systems, the choice of hardware used to perform the encoding and decoding operations can impact performance and cost. For example, using large computers may enable real-time encoding/decoding, but may be excessive for certain workloads, leading to computing resources being idle. On the other hand, if sufficient hardware resources are not provided, a video stream may “skip” or “stutter,” resulting in a frustrating viewing experience for an end user. It may thus be difficult to determine an “ideal” or “efficient” hardware configuration for a given video processing workload.